<template>
  <div class="add-node-btn-box">
    <div class="add-node-btn">
      <el-popover placement="right-start" :width="270" trigger="click" :hide-after="0" :show-after="0">
        <template #reference>
          <el-button type="primary" icon="el-icon-plus" circle></el-button>
        </template>
        <div class="add-node-popover-body">
          <ul>
            <li @click.stop="addType(1)">
              <i style="color: #ff943e;" class="fa fa-pencil-square-o"></i>
              <p>审批节点</p>
            </li>
            <li @click.stop="addType(2)">
              <i style="color: #3296fa;" class="fa fa-paper-plane"></i>
              <p>抄送节点</p>
            </li>
            <!-- <li @click.stop="addType(4)">
              <i style="color: #15BC83;" class="el-icon-share"></i>
              <p>条件分支</p>
            </li> -->
          </ul>
        </div>
      </el-popover>
    </div>
  </div>
</template>

<script>
export default {
  props: {
    modelValue: { type: Object, default: () => {} },
  },
  data() {
    return {}
  },
  mounted() {},
  methods: {
    addType(type) {
      var node = {}
      if (type == 1) {
        node = {
          nodeName: '审核人',
          type: 1, //节点类型
          setType: 1, //审核人类型
          nodeUserList: [], //审核人成员
          nodeRoleList: [], //审核角色
          examineLevel: 1, //指定主管层级
          directorLevel: 1, //自定义连续主管审批层级
          selectMode: 1, //发起人自选类型
          termAuto: false, //审批期限超时自动审批
          term: 0, //审批期限
          termMode: 1, //审批期限超时后执行类型
          examineMode: 3, //多人审批时审批方式
          directorMode: 0, //连续主管审批方式
          leaveApprove: 0, // 审批节点人员离职、为空情况特殊处理
          leaveApprover: [], // 指定人员 审核人成员
          childNode: this.modelValue,
        }
      } else if (type == 2) {
        node = {
          nodeName: '抄送人',
          type: 2,
          userSelectFlag: false,
          nodeUserList: [],
          childNode: this.modelValue,
        }
      } else if (type == 4) {
        node = {
          nodeName: '条件路由',
          type: 4,
          conditionNodes: [
            {
              nodeName: '条件1',
              type: 3,
              priorityLevel: 1,
              conditionMode: 1,
              conditionList: [],
            },
            {
              nodeName: '条件2',
              type: 3,
              priorityLevel: 2,
              conditionMode: 1,
              conditionList: [],
            },
          ],
          childNode: this.modelValue,
        }
      }
      this.$emit('update:modelValue', node)
    },
  },
}
</script>

<style lang="scss" scoped>
@import './../style/index.scss';
</style>
